*{
    margin: 0;
    padding: 0;
    box-sizing: bordr-box;
    font-family: "Poppins", sans-serif;
}

body{
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: #fffdb3;
}

.loading{
    position: relative;
    width: 300px;
    height: 400px;
    transform-style: preserve-3d;
}

.loading:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    box-shadow: 5px 5px 15px rgba(0,0,0,0.2);
}

.loading:after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    background: #45abc4;
}

.loading div{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    transform-style: preserve-3d;
    overflow: hidden;
    animation: animate 4s linear infinite;
    animation-delay: calc(0.5s * var(--i));
}

@keyframes animate{
    0%
    {
        transform: perspective(500px) translate3d(0,0,0);
        opacity: 1;
        box-shadow: 5px 5px 15px rgba(0,0,0,0);
    }
     25%
    {
        transform: perspective(500px) translate3d(-50px,-50px,50px);
        opacity: 1;
        box-shadow: 5px 5px 15px rgba(0,0,0,0.2);
    }
    35%,100%
    {
        transform: perspective(500px) translate3d(-600px,-50px,100px);
        opacity: 0;
    }
}

.loading div span{
    position: absolute;
    top: 0;
    width: 100%;
    height: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 8em;
    color: #fff;
    background: #45abc4;
    font-weight: 600;
}

.loading div span:nth-child(2){
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    overflow:hidden;
    background: url(placeholder.png);
}